﻿'
' Boogaloo® - http://www.mindfly.com
' Copyright (c) 2008
' by Mindfly, Inc.
'
' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
' documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
' to permit persons to whom the Software is furnished to do so, subject to the following conditions:
'
' The above copyright notice and this permission notice shall be included in all copies or substantial portions 
' of the Software.
'
' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
' INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
' DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
' SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
' SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
' WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
' THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Imports Boogaloo.Core.UI
Imports Boogaloo.Core.BLL

Namespace UI.UserControls

    Public Class ContentPlaceHolderManagerBase
        Inherits CoreControlBase

#Region "Properties"

        Public Enum cphmanager_usage
            embedded_controls
            layout
            page
        End Enum



        Private _usage As cphmanager_usage
        Public Property usage() As cphmanager_usage
            Get
                Return _usage
            End Get
            Set(ByVal value As cphmanager_usage)
                _usage = value
            End Set
        End Property

        Private _publish_id As Integer = 0
        Public Property publish_id() As Integer
            Get
                Return _publish_id
            End Get
            Set(ByVal value As Integer)
                _publish_id = value
            End Set
        End Property


        Private _obj_node As Node = Nothing
        Public Property obj_node() As Node
            Get
                Return _obj_node
            End Get
            Set(ByVal value As Node)
                _obj_node = value
            End Set
        End Property

        Private _orphaned_control_title As String = "Unused Controls (Orphaned)"
        Public Property orphaned_control_title() As String
            Get
                Return _orphaned_control_title
            End Get
            Set(ByVal value As String)
                _orphaned_control_title = value
            End Set
        End Property

        ''' <summary>
        ''' Supposed to return the mastertemplate for the given publish
        ''' Not enabled in this version
        ''' </summary>
        Public ReadOnly Property publish_mastertemplate() As MasterTemplate
            Get
                'Dim mtid As Integer = obj_node.master_template_id
                'If publish_id > 0 Then
                '    Dim pts As List(Of PublishTask) = PublishTask.GetPublicTasksByTaskName(publish_id, "setmasterpage")
                '    If pts.Count > 0 Then mtid = CType(pts(0).parameter_list, Integer)
                'End If
                'Return MasterTemplate.GetMasterTemplate(mtid)
                Return obj_node.master_template
            End Get
        End Property


        Public ReadOnly Property contentplaceholder_list() As List(Of String)
            Get
                Return MasterTemplate.GetMasterTemplateContentPlaceholderList(publish_mastertemplate.master_template_id)
            End Get
        End Property



#End Region

    End Class


End Namespace